"""
函数返回值：
    函数除了可以在函数体中直接输出数据，还可以返回一个或多个值，称为函数的返回值。在Python中，函数使用return语句返回值
    return语句用于退出函数并将程序返回到函数调用的位置继续执行，同时返回零个、一个或多个值
"""
# todo 函数分类
# # 无参数，无返回值
# def Eat1():
#     print('吃饭')
# Eat1()
# # 有参数，无返回值
# def Eat2(str1,str2):
#     print(f'{str1}今天要回家{str2}！')
# Eat2('小明','吃饭')
#
# # 无参数，有返回值
# def Sum1():
#     sum = 1 + 3
#     return sum
# print(Sum1())
# num = Sum1()
# print(num)
# # 有参数，有返回值
# def Sum2(num1,num2):
#     sum = num1 + num2
#     return sum
# num1 = Sum2(3,4)
# print(num1)
"""
【例5-1】  小蓝的日常活动。
【问题分析】   定义函数封装日常活动，然后按作息时间调用函数。例如，定义eat()函数，输出“吃  饭......”，定义school()函数输出“上课......”等。
【参考代码】
【程序说明】  本例题中return语句返回多个值，通过语句“print(score, type(score))”输出变量score及其类型，可以看出，多个值以元组形式保存。因此，可以通过下标来访问元组中的元素，从而分别得到最低成绩、最高成绩和总成绩。
"""
# def eat(time):					#定义eat()函数，参数为时间time
#     #如果time在6点～8点，返回吃早饭
#     if time >= 6 and time <= 8:
#         return '{}点吃早饭......'.format(time)
#     #如果time在11点～13点，返回吃午饭
#     elif time >= 11 and time <= 13:
#         return '{}点吃午饭......'.format(time)
#     #如果time在17点～19点，返回吃晚饭
#     elif time >= 17 and time <= 19:
#         return '{}点吃晚饭......'.format(time)
#     else:						#不满足上述条件，返回不在吃饭时间
#         return '不在吃饭时间'
# time = int(input('请输入时间：'))	                             #输入时间，并转换为int型赋给time
# print(eat(time))				              #调用eat()函数，输出返回值

def funs():
    sum = 1 + 2
    a = 0
    print(sum,a)
    return sum,a  #  return 之后的代码不会执行，相当于执行结束
    print('计算结束')
funs()

"""
【例5-3】  计算小蓝的最低成绩、最高成绩和总成绩。
【问题分析】   定义函数score_compute()，参数为小蓝的各科成绩，使用min()函数计算最小值，max()函数计算最大值，然后返回最小值、最大值及总成绩。
【参考代码】 
"""
#定义score_compute()函数
def score_compute(chinese, math, english):
    #使用min()函数计算最小值，并赋给score_min
    score_min = min(chinese, math, english)
    #使用max()函数计算最大值，并赋给score_max
    score_max = max(chinese, math, english)
    #计算总成绩，并赋给score_total
    score_total = chinese + math + english
    #返回score_min、score_max和score_total
    return score_min, score_max, score_total
#输入各科成绩
chinese = float(input('请输入语文成绩：'))
math = float(input('请输入数学成绩：'))
english = float(input('请输入英语成绩：'))
#调用score_compute()函数，并将返回值赋给score
score = score_compute(chinese, math, english)
print(score, type(score))			 #输出score及其类型
print('小蓝的最低成绩为：', score[0],
      '\n小蓝的最高成绩为：', score[1],
      '\n小蓝的总成绩为：', score[2])#输出最低成绩、最高成绩和总成绩
